ЗАЧЕМ И КАК
автоматизировать лечебно-диагностический процесс

Выпуск 68

24 января 2006 г.

АВТОМАТИЗАЦИЯ ЧАСТНЫХ АЛГОРИТМЫ ДЕЙСТВИЙ ВРАЧА

Первыми автоматизированными алгоритмами действий врача, востребованными практикой, стали "Пульмонология" и "Роды". Это было в начале 90-х, и с тех пор много воды утекло. Сменилось несколько поколений компьютеров, усовершенствовались средства программирования, дисковую операционную систему сменила Windows. Преобразились автоматизированные рабочие места врачей. Автоматизацию алгоритмов пришлось начать сызнова: надо было использовать новые возможности. В основном, это получилось. Одна беда: новые программы (не алгоритмы, а компьютерные программы) ещё не проверены широкой практикой. Однако, если старые были работоспособными и эффективными, то особых опасений, что новые потерпят фиаско, нет. Проблема не здесь, а в том, что за несколько лет прервались старые связи с практиками и не появилось новых. Появятся - основное для них готово: есть и содержательная основа алгоритмов, которую, конечно, надо пополнить, модернизировать, есть и компьютерная программа, способная помогать врачу.

Описанием подходов и принципиальных решений, использованных при автоматизации частных алгоритмов, мне хочется решить две задачи. Первая - рассказать, каков результат автоматизации, как он выглядит для врача, какие возможности открывает руководителю. Вторая - объяснить, что, когда программа создана, совершенствовать содержание автоматизированного алгоритма, развивать его можно уже без участия программиста. Уверенности, что с этими задачами я справлюсь, нет. Предмет необычный, демонстрировать его в рамках рассылки невозможно, а рассказывать о том, чего никто не видел, - дело неблагодарное. Но надо пробовать.

Автоматизированный диалог и его протокол

Программа "Частные алгоритмы действий врача" сначала спрашивает, что именно будет делать врач: начнёт работу с новым пациентом или продолжит ведение пациента, с которым уже работал раньше. В первом случае будет предложен имеющийся перечень алгоритмов ("Пульмонология", "Кардиология", "Терапия воспаления" и др.), затем перечень классов в выбранном алгоритме, а потом в дело пойдёт ситуация № 1 выбранного класса. Программа задаст вопрос о ведущем симптоме и приведёт для выбора все возможные ответы. Выбранный врачом ответ вызовет на экран следующий вопрос и перечень ответов к нему. Это продолжится до тех пор, пока программа не накопит такой объём сведений о пациенте, который будет ей достаточен, чтобы рекомендовать очередные диагностические или лечебные действия (либо те и другие). Теперь выдаются рекомендации о действиях, а также дата, когда надо будет обсудить полученные результаты. При необходимости врач может слегка корригировать эту дату. И всё.

В результате такого диалога образуется последовательность пройденных ситуаций алгоритма - "линия". В установленное время её надо будет продолжить, развить. Линий может быть несколько, каждая со своим сроком развития. Весь перечень линий и соответствующих дат развтия выводится в составе меню, которое предлагает выбор: продолжить любую из линий, открыть ещё одну (у пациента может быть и другое заболевание, совершенно независимое от первого), выдать протокол сеанса, выдать протокол всей истории болезни или завершить работу.

Протокол сегодняшней работы с пациентом можно просмотреть на экране или напечатать. Программа составляет его в виде фраз, началом которых служат заданные вопросы, а окончанием - выбранные ответы. Завершается протокол текстом всех рекомендаций и датами, когда рекомендации предполагается выполнить, а результаты обсудить. По определению, такое изложение врачебной мысли всегда содержательно, последовательно и логично. Приведу два самых простых примера (сложные были бы выразительнее, но для рассылки это слишком громоздко).

Первый пример - начало обследования больного с только что выявленной рентгенологической картиной лёгочной диссеминации. Слева от текста - номера ситуаций алгоритма, через которые проходил врач. Заглавными буквами выделена та часть фразы, которая в своё время была вопросом, строчными - выбранный врачом ответ. Работа врача свелась к этим 24 ответам. В результате получены исчерпывающие рекомендации о действиях в ближайшее время и о сроках, когда эти действия должны принести информацию, необходимую для выбора дальнейших мероприятий.

Время выдачи 11:33, 31.10.2004
ХОД РАССУЖДЕНИЯ
31.10.2004.11.31. ПУЛЬМОНОЛОГИЯ. Диссеминации

001 ИЗМЕНЕНИЯ ЗАХВАТЫВАЮТ оба легких, не менее 2 сегментов в каждом.
- ОНИ симметричны.
- ВНУТРИГРУДНЫЕ ЛИМФАТИЧЕСКИЕ УЗЛЫ не увеличены.
011 ДЫХАТЕЛЬНАЯ НЕДОСТАТОЧНОСТЬ существует хронически.
- НАРУШЕНИЯ ДРУГИХ ЖИЗНЕННО-ВАЖНЫХ ФУНКЦИЙ отсутствуют.
- ПО ДАННЫМ ПРЕДЫДУЩИХ ЭТАПОВ И КЛИНИЧЕСКОГО МИНИМУМА нельзя утверждать диагноз.
- ПРИЗНАКИ ДЕКОМПЕНСИРОВАННОГО ЛЕГОЧНОГО СЕРДЦА отсутствуют.
- НА РЕНТГЕНОГРАММЕ ЛЕГКИХ обнаружена диссеминация.
- В МЕХАНИЗМЕ ДЫХАТЕЛЬНОЙ НЕДОСТАТОЧНОСТИ преобладают рестриктивные ограничения вентиляции.
403 ВЕДУЩИЙ РЕНТГЕНОЛОГИЧЕСКИЙ СИНДРОМ - мелкоячеистая деформация лёгочного рисунка.
- ДЫХАТЕЛЬНАЯ НЕДОСТАТОЧНОСТЬ умеренная.
- ИНТОКСИКАЦИЯ отсутствует.
025 ДЫХАТЕЛЬНАЯ НЕДОСТАТОЧНОСТЬ СУЩЕСТВУЕТ несколько месяцев, прогрессирует медленно.
- АРГУМЕНТЫ ЗА ОБОСТРЕНИЕ НЕСПЕЦИФИЧЕСКОГО ВОСПАЛЕНИЯ отсутствуют.
026 ДАВНОСТЬ ДИССЕМИНАЦИИ ПО ДАННЫМ РЕНТГЕН-АРХИВА неизвестна.
_ ПРОФЕССИОНАЛЬНЫЙ КОНТАКТ С ПЫЛЬЮ не установлен.
- НА РЕНТГЕНОГРАММЕ КРАЕВОЕ ОБЫЗВЕСТВЛЕНИЕ ВНУТРИГРУДНЫХ ЛИМФОУЗЛОВ не установлено.
123 АРГУМЕНТЫ ЗА КАРЦИНОМАТОЗ отсутствуют.
032 РЕСТРИКТИВНЫЕ НАРУШЕНИЯ ВЕНТИЛЯЦИИ существуют хронически без резких изменений.
- ДРУГИЕ СИМПТОМЫ ПАТОЛОГИИ ОРГАНОВ ГРУДНОЙ КЛЕТКИ отсутствуют.
l13 БРОНХОСКОПИЯ назначена.
816 РЕНТГЕНОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ЖЕЛУДОЧНО-КИШЕЧНОГО ТРАКТА неосуществимо.
- УЗИ ОРГАНОВ БРЮШНОЙ ПОЛОСТИ И ЗАБРЮШИННОГО ПРОСТРАНСТВА неосуществимо.

РЕКОМЕНДАЦИИ

001 КЛИНИЧЕСКИФ МИНИМУМ. Жалобы. Сроки появления и динамика клинических симптомов. Эффективность терапии (если она проводилась). Перенесенные заболевания. Лечение глюкокортикоидами и цитостатиками. Профессиональные вредности, вредные привычки, контакт с органическими аллергенами, токсическими веществами. Тубконтакт. Неблагоприятные социальные факторы (мигрант, БОМЖ, нахождение в местах лишения свободы).
_ Изучение медицинских документов предыдущих этапов (рентген-архив!).
_ Осмотр. Аускультация и перкуссия органов груди. Пальпация живота и периферических лимфоузлов. Измерение АД, частоты дыхания, пульса. Суточное количество мокроты.
_ Общие анализы крови, мочи, мокроты. Определение группы крови и резус-принадлежности. Реакция Вассермана. Обследование на СПИД. Обзорная рентгенограмма лёгких. Оценка результатов КТВР (если есть). ЭКГ.
011 ПОЛНОЕ ОБСЛЕДОВАНИЕ. Двукратный посев мокроты на МБТ, троекратный анализ мокроты на опухолевые клетки, три мазка мокроты на кислотоустойчивые бактерии. При гнойном бронхите посев мокроты на флору и её лекарственную чувствительность. Анализ крови на белок и белковые фракции, креатинин, мочевину, билирубин, трансаминазы, сахар, фибриноген. Коагулограмма.
_ Томография лёгких. Томография средостения. Спирография. При дыхательной недостаточности - исследование газов крови. Фибробронхоскопия при отсутствии противопоказаний (тяжелая бронхиальная обструкция, нестабильная стенокардия, частые желудочковые экстрасистолы, острое нарушение мозгового кровообращения и его последствия, неконтролируемая эпилепсия).
_ Биопсия увеличенных периферических лимфоузлов
098 Пневмотахометрия. Рентгенография сердца. Рентгеноскопия легких с оценкой движения диафрагмы и изменения воздушности легких при смене фаз дыхания.
Срок контроля 01.11.04. 11.31
813-М ОСУЩЕСТВИТЕ БРОНХОСКОПИЮ. Исследуйте биоптат и бронхиальный секрет на опухолевые клетки. Бактериоскопируйте их на МБТ, неспецифическую флору и грибки. Сделайте посевы на МБТ, неспецифическую флору и грибки.
Срок контроля 01.11.04. 11.31
025-Б ПОСЕВЫ МОКРОТЫ или промывных вод бронхов на МБТ (3 раза подряд), на неспецифическую флору (3 раза), на грибки (2 раза).
_ БАКТЕРИОСКОПИЯ МАЗКА МОКРОТЫ или промывных вод бронхов на МБТ по Циль-Нельсону или люминесцентная с флюохромами - (3 раза подряд), по Граму (2 раза), на грибки (2 раза).
_ АНАЛИЗ МОКРОТЫ или промывных вод бронхов НА ОПУХОЛЕВЫЕ КЛЕТКИ - до 5 отрицательных или первого положительного результата.
_ БАКТЕРИОСКОПИЯ МОЧИ на МБТ по Циль-Нельсону или люминесцентная с флюохромами - до 3 отрицательных или первого положительного результата, по Граму (2 раза), на грибки (2 раза).
_ ПОСЕВ КРОВИ на неспецифическую флору (3 раза).
_ ПРОДВИГАЙТЕСЬ ДАЛЕЕ ПО ЗАВЕРШЕНИИ ОБСЛЕДОВАНИЯ, А ПРИ ПОЛУЧЕНИИ СУЩЕСТВЕННЫХ ДИАГНОСТИЧЕСКИХ РЕЗУЛЬТАТОВ - НЕМЕДЛЕННО.
Срок контроля 07.11.04. 11.31

Второй пример - из кардиологии. Это начало обследования больного с жалобами на приступообразные боли в груди. Здесь оказалось достаточным задать 13 вопросов, чтобы стало ясно, какие шаги надо сделать в ближайшее время.

Время выдачи 08:30, 19.01.2006
ХОД РАССУЖДЕНИЯ
19.01.2006.08.28. КАРДИОЛОГИЯ. Боли ИБС

011 ОСНОВАНИЯ ДЛЯ ЭКСТРЕННЫХ ДЕЙСТВИЙ отсутствуют.
_ ИБС РАНЕЕ В МЕДИЦИНСКИХ ДОКУМЕНТАХ не зафиксирована.
_ В БЛИЖАЙШЕМ АНАМНЕЗЕ ПРИСТУПЫ БОЛИ, СТЕСНЕНИЯ В ГРУДИ отмечены.
002 ДАВНОСТЬ ПОСЛЕДНЕГО ПРИСТУПА не более 3 дней.
_ ЭКГ, СДЕЛАННАЯ В ПРОШЛОМ, отсутствует.
_ ПРИСТУП ПРОШЕЛ после нитроглицерина.
_ ИНТЕНСИВНОСТЬ БОЛЕВОГО СИНДРОМА умеренная.
_ ДЛИТЕЛЬНОСТЬ ПРИСТУПА менее 20 минут.
013 НЕДОСТАТОЧНОСТЬ КРОВООБРАЩЕНИЯ отсутствует.
_ НАРУШЕНИЯ СЕРДЕЧНОГО РИТМА отсутствуют.
_ НАРУШЕНИЯ ВНУТРИСЕРДЕЧНОЙ ПРОВОДИМОСТИ отсутствуют.
_ ВАРИАНТ ТЕЧЕНИЯ БОЛЕЗНИ - стабильная стенокардия.
_ ФУНКЦИОНАЛЬНЫЙ КЛАСС ТЯЖЕСТИ: первый.

РЕКОМЕНДАЦИИ

013 ПОЛНОЕ ОБСЛЕДОВАНИЕ. Клинический минимум. Анализы крови на АсТ, АлТ, креатинин-фосфатазу и ее фракции, С-реактивный белок, фибриноген, холестерин, сахар, калий и натрий плазмы и эритроцитов. Коагулограмма.
ЭКГ в 12 отведениях.
При плохой ориентировке в потенциале предсердий - запись ЭКГ по Манцу или чреспищеводная ЭКГ.
При подозрении на задний инфаркт - ЭКГ по Слопаку и Нэбу, при подозрении на высокий инфаркт - ЭКГ в грудных отведениях на одно межреберье выше стандартных точек, при подозрении на инфаркт правого желудочка - ЭКГ в отведении Yp.
При стенокардии Принцметала - в первые двое суток мониторное наблюдение за ЭКГ.
При стабильной стенокардии, не поддающейся традиционной терапии (нитраты + бета=блокаторы или нитраты + антагонисты кальция) - подбор антиангинальных средств под контролем дозированных нагрузок.
При стабильной стенокардии 1 и 2 класса тяжести - велоэргометрия.
Срок контроля 20.01.06. 08.28

Когда рассуждение приводит к лечебным назначениям, то точно так же выдаётся их исчерпывающий перечень на ближайший отрезок времени. Затем последуют тщательный расспрос о результатх лечения и новые рекомендации. Когда врач решит продолжить прерванную ранее работу, ему на экран выдаётся состояние на момент прерывания: все линии истории болезни (точнее - последняя ситуация каждой линии) и срок, когда каждую линию следует продолжить. Выбрав щелчком нужную линию, врач попадает сразу в то место алгоритма, на котором была сделана последняя остановка.

В процессе рассуждения может обнаружиться, что тот или иной ответ был выбран неправильно. Тогда можно шаг за шагом вернуться назад (для этого предназначена клавиша F2), изменить ответ и рассуждать дальше уже с учётом поправки. Можно и передумать, если предположение об ошибке окажется ложным. Тогда программа позволяет сразу вернуться к первоначальному варианту (с помощью клавиши F3). Очередные даты, часы и минуты программа вычисляет сама, добавляя указанный в алгоритме срок к дате и времени, которые врач указал в начале сеанса как точку отсчёта. Полученный результат врач может корригировать с клавиатуры.

Разумеется, протокол сеанса можно вывести на экран, в текстовый файл или напечатать. Есть и возможность выдачи всей истории болезни - от первого сеанса до последнего. Наконец, кроме текстового протокола, можно вывести трассу - последовательность номеров ситуаций, через которые проходил врач, с датами остановок и возобновлений рассуждения. Всё это, в отличие от обычных дневников и этапных эпикризов, явным образом излагает логику врачебных действий. Теперь достаточно сопоставить эту информацию с фактическими назначениями врача и с фактическими сроками, чтобы обнаружить отклонения от алгоритма, обратить на них внимание, обсудить их правомерность. Так алгоритм помогает не только врачу, но и руководителю, эксперту, рецензенту.

Работа автоматизированного алгоритма может осуществляться в 3 режимах. Первый режим - демонстрационный. Он не привязывает рассуждение к фамилии пациента и может начинаться не только с первой, а с любой ситуации. Это удобно для ознакомлении с работой тех или иных участков дерева решений. Результаты работы в демонстрационном режиме хранятся только до момента, пока из него не выйдут. Второй режим предусматривает с самого начала ввод фамилии, инициалов и даты рождения больного. При последующих сеансах эту фамилию надо выбрать из открывающегося списка, после чего работа начнётся с тех мест, на которых были сделаны остановки. Вся информация о работе с этим пациентом сохраняется, образуя совершенно своеобразную базу данных. Третий режим включается только тогда, когда на компьютере есть АРМ врача. Меню истории болезни в АРМе содержит пункт "Алгоритм действий врача". Отсюда врач сразу попадает в алгоритм, причём фамилия пациента регистрируется в нём автоматически. Понятно, что протоколы сеансов в этом режиме тоже сохраняются.

К сожалению, у меня нет хорошего ответа на вопрос, как совместить использование алгоритма с электронной историей болезни. Нет опыта. Переход из электронной истории в алгоритм и обратно обеспечен, но как этим будет пользоваться врач? Надо думать и пробовать. Одна из возможностей - копировать протокол каждого сеанса в раздел "Дневники" или в раздел "Анамнез. Течение болезни". Есть и другие варианты, но в любом случае это вопрос не столько к разработчику, сколько к организаторам. Его должны решать руководители, если они вводят пользование алгоритмом в качестве обязательного правила.

Как это устроено

Оригинальной основой программы служат файлы-ситуации. Каждый такой файл имеет свой номер, в каждом излагается этапный диалог. Файл можно открыть и читать. Каждая его строка - это либо вопрос, либо ответ, либо рекомендация. Соответственно, строки имеют пометки: "в", "о" и "р". Строки пронумерованы - для этого служит поле "номер строки". На каждой строке указано, на какую новую строку надо с неё переходить ("поле перехода"). Каждая строка "в" отсылает сразу к нескольким строкам-ответам, и все они помечаются одним и тем же номером, тем самым, который указан в строке-вопросе, в её поле перехода. Чтобы одинаково занумерованные ответы на один и тот же вопрос можно было различать, используется "дополнительный номер строки", - в нём помещается порядковый номер ответа.

Поле перехода в строке "о" содержит номер строки следующего вопроса или рекомендации. Поле перехода в строке "р" содержит номер очередного вопроса или ещё одной рекомендации. Таким образом, открыв файл и начав с первого вопроса, программа "знает", какой перечень ответов надо к нему вывести, а при выборе ответа "понимает", куда идти дальше.

К ответам иной раз требуется дать пояснения (определение, предостережение и т.п.), а рекомендации могут быть очень обширными. Обе проблемы решаются с помощью мемо-поля "Комментарии". Если такое поле заполнено в строке "р", то его текст продолжает то, что записано в самой строке. Если оно заполнено в строке "о", его содержание будет выводиться в качестве комментария на экран в тот момент, когда курсор окажется на этом ответе. Поскольку мемо-поле может вмещать любые объёмы информации, описанный приём позволяет обеспечить врача любым справочным материалом и любыми подсказками, уместными в конкретный момент работы.

В строках "р" используются ещё поля для минимального и максимального срока, которые отводятся на рекомендуемые действия. Сроки можно указать в минутах, часах, днях, неделях или месяцах. Если эти поля заполнены, программа, выдав рекомендации, делает остановку и задаёт время продолжения работы. Наконец, надо учесть, что после выбора ответа и после выполнения рекомендации может возникнуть необходимость одновременных параллельных действий. Поэтому каждая строка содержит не одно поле перехода, а два. При этом второе используется ещё и в случае перехода в другой файл. Тогда в нём помещается код этого другого файла.

Перечисленные служебные поля необходимы компьютерной программе. Но они же помогают правильно читать файл на экране: видеть всё содержание, все связки, все переходы, видеть ход рассуждения на любое число шагов вперёд. Я для того и описал все эти, вероятно, скучные детали, чтобы подвести Вас, читатель, к трём важным заключениям.

Во-первых, любой врач может вывести файл-ситуацию на экран и понять механизм его работы: увидеть, как тот или иной ответ воздействует на развитие диалога, просмотреть все варианты, все выводы, рекомендации, сроки. Это означает понимание логики алгоритма, понимание его устройства. Теперь на вопрос "Почему так?" медик легко ответит и себе и другим медицинскими аргументами, а не бессодержательной фразой "Так по алгоритму" или "Так по инструкции". Одновременно это означает для каждого врача возможность критического отношения к алгоритму, причём такого, когда точно указывается тот его участок, который заслуживает критики и совершенствования.

Второе следствие состоит в том, что врач-разработчик может самостоятельно, без программиста создавать и совершенствовать такие файлы, заполнять их вопросами, ответами и рекомендациями. Это мало отличается от обычной работы в текстовом редакторе и не требует никаких программистских знаний - все силы разработчика можно сосредоточить на содержании алгоритма и на соблюдении правил перехода со строки на строку.

В-третьих, когда содержание алгоритма укладывается в такие файлы, то оно уже совершенно не заботит программиста. Его ключевая и своеобразная задача сводится к тому, чтобы поручить программе движение внутри файла и от файла к файлу, руководствуясь данными в служебных полях. Остальное - вывод на экран вопросов и ответов, создание меню для выбора режима работы, выбора алгоритма и класса, запоминание трассы, различный сервис - дело вполне обычной программистской техники. Когда всё это сделано (а это сделано!), функции программиста заканчиваются. Развитие программного комплекса будет состоять только в совершенствовании и пополнении файлов-ситуаций, то есть осуществляться только врачами.

Впрочем, можно найти работу и программисту, если не оставить без внимания очень интересную особенность: работающий программный комплекс накапливает данные о ведении больных в виде поэтапных описаний - трасс. Трасса содержит коды ситуаций, переходы между ними и сроки. Она точно, детально и в формализованном виде отражает суждения врача, каждое его действие, основанное на этих суждениях, и результат каждого действия. Такая информация позволяет анализировать лечебно-диагностический процесс с невиданной скрупулёзностью. На множестве историй болезни можно выявлять ситуации, которые слишком часто завершаются неудачно или требуют особых ресурсных затрат, вычислять вероятности их возникновения, то есть прогнозировать события как в отношении отдельного пациента, так и во всей больнице, и проч., и проч. Чтобы воспользоваться этими возможностями, нужны программы обработки нарастающей базы данных. Но это уже совсем другая история.

Редактор файлов-ситуации

Дать возможность разработчику просто записывать в строки файла вопросы и ответы - это, конечно, хорошо. Но наивно рассчитывать, что будут соблюдены все правила, необходимые для того, чтобы программа могла с этим файлом работать. Ведь правил немало. Самому файлу надо присвоить правильный код, ещё не использованный в системе и отражающий номер алгоритма, номер класса и номер ситуации. Нельзя, чтобы двум строкам (если это не строки-ответы) был присвоен один и тот же номер. Недопустимы в полях перехода ссылки на несуществующие строки или несуществующие файлы. Не может быть ни одной строки, кроме первой, на которую нет ссылки с другой строки. И т.д., и т.п. Даже при самом большом старании ошибки и нарушения здесь неизбежны. Поэтому разработчику нужно помочь специальной программой - редактором. Это тоже сделано.

Редактор предлагает ввести имя файла и следит за тем, чтобы оно соответствовало необходимому формату. Он сам создаёт необходимые строки, нумерует их, помечает их тип. Нажатием одной функциональной клавиши создаётся строка вопроса и несколько уже пронумерованных строк ответов к нему. Другая клавиша создаёт дополнительные строки ответов, если они потребуются. Третья вводит строку-рекомендации. Четвёртая удаляет строку. Есть и ещё пара удобных приёмов.Ещё одна функция этого редактора - проверка сделанных файлов, поиск в них несоответстий. Если такое несоответствие обнаруживается, о нём выдаётся сообщение с указанием на суть несоответствия и номера строк, а сам файл выводится на экран для исправления. Всё вместе действительно оставляет разработчику только одну заботу - содержание.

Таким образом, автоматизированный алгоритм действий врача используется в двух вариантах: для разработчика - с функцией редактора, для пользователей - без этой функции. Вряд ли нужно объяснять, что программу-редактор нельзя давать всем. Смысл алгоритмизации состоит в антиэнтропийном процессе, в том, чтобы противопоставить алгоритм нарастающей разрозненности в работе врачей, взять из каждого индивидуального опыта самое оптимальное и сделать его достоянием всех. Это возможно только в том случае, если создание и развите алгоритмов будет сосредоточено в руках ограниченного числа разработчиков.

Hosted by uCoz